#include <iostream>
#include "cartesian.h"
#include "polar.h"

int main()
{
    // создание 2 точек в разных системах
    Cartesian xy(12, 56);
    cout << xy.get().first << " " << xy.get().second << endl;
    Cartesian xy1;
    cout << xy1.get().first << " " << xy1.get().second << endl;

    Polar pf(123, 12);
    cout << pf.get().first << " " << pf.get().second << endl;
    Polar pf1;
    cout << pf1.get().first << " " << pf1.get().second << endl;

    cout << endl << endl;
    // перевод Декартовых в полярные и обратно
    pf1 = xy.convertToPolar();
    cout << pf1.get().first << " " << pf1.get().second << endl;

    xy1 = pf1.convertToCartesian();
    cout << xy1.get().first << " " << xy1.get().second << endl;

    cout << endl << endl;
    //проверка исключений в полярных для set() и конструктора
    pf.set(-4, 360);
    pf.set(45, 361);
    pf.set(45, -1);
    pf.set(-4, 361);
    cout << pf.get().first << " " << pf.get().second << endl;

    cout << endl << endl;
    Polar pfi1(-4, 360);
    cout << pfi1.get().first << " " << pfi1.get().second << endl;
    Polar pfi2(45, 361);
    Polar pfi3(45, -1);
    Polar pfi4(-4, 361);
    return 0;
}
